import request from '@/utils/request'

// 查询物模型列表
export function listModel(query) {
  return request({
    url: '/iot/model/list',
    method: 'get',
    params: query
  })
}

// 查询通用物模型列表
export function listCommonModel(query) {
  return request({
    url: '/iot/model/common/list',
    method: 'get',
    params: query
  })
}

// 查询产品关联的物模型列表
export function listProductModel(productId) {
  return request({
    url: `/iot/model/product/${productId}`,
    method: 'get'
  })
}

// 查询物模型详细
export function getModel(id) {
  return request({
    url: '/iot/model/' + id,
    method: 'get'
  })
}

// 新增物模型
export function addModel(data) {
  return request({
    url: '/iot/model',
    method: 'post',
    data: data
  })
}

// 修改物模型
export function updateModel(data) {
  return request({
    url: '/iot/model',
    method: 'put',
    data: data
  })
}

// 删除物模型
export function delModel(id) {
  return request({
    url: '/iot/model/' + id,
    method: 'delete'
  })
}

// 删除产品-物模型关联
export function delProductModel(productId, modelId) {
  return request({
    url: `/iot/product/model/${productId}/${modelId}`,
    method: 'delete'
  })
}

// 获取设备物模型
export function getDeviceModel(deviceId) {
  return request({
    url: '/iot/model/device/' + deviceId,
    method: 'get'
  })
}

// 获取产品物模型
export function getProductModel(productId) {
  return request({
    url: '/iot/model/product/' + productId,
    method: 'get'
  })
} 